Bij het opstellen van een relationeel model moeten er onder andere primaire
sleutels gedefinieerd worden. Dit gebeurt door onder aan de beschrijving van een
entiteit en haar relaties de primaire sleutel te vermelden. In SQL wordt op een
soortgelijke manier aangegeven wat een primaire sleutel is. De volgende
statements geven de declaratie in SQL van het relatieschema STUDENT weer.
Het veld
wordt als primaire sleutel gedefinieerd. De voorwaarde die aan een
primaire sleutel wordt gesteld, namelijk dat deze de bestaande entiteit in één
enkele toestand van het systeem identificeert, wordt na het definiëren van een
primaire sleutel door SQL zelf bijgehouden. Dit is ook de reden waarom een
primaire sleutel door SQL als een constraint gezien wordt: het is een
beperking aan de mogelijke waarden in de tabel.
create table STUDENT(
student_nr integer not null,
naam char(20),
adres char(32),
constraint pk_student_nr
primary key (student_nr) );
Zoals te zien is in bovenstaande tekst is het verplicht om de code woorden constraint en primary key te gebruiken. De naam van de constraint is pk_student_nr en het attribuut waaruit de primaire sleutel bestaat is student_nr. Een primaire sleutel kan uit meerdere attributen bestaan.